//
//  ZZBaseTableVC.swift
//  QMXK
//
//  Created by jenkin on 2018/12/3.
//  Copyright © 2018年 jenkin. All rights reserved.
//

import UIKit
import ZHRefresh
import Moya

class ZZBaseTableVC: ZZBaseVC, UITableViewDelegate, UITableViewDataSource {
    
    var tableView:UITableView!
    var style:UITableView.Style!
    var data:Array<AnyObject>!
    var tableFrame:CGRect!
    var page = 0
    
    init(tableStyle: UITableView.Style, tableFrame:CGRect){
        super.init(nibName: nil, bundle: nil)
        self.style = tableStyle
        self.tableFrame = tableFrame
        //self.view.frame = tableFrame
    }
    
    required init?(coder aDecoder: NSCoder) {
        super.init(nibName: nil, bundle: nil)
        //fatalError("init(coder:) has not been implemented")
    }
    
    override func viewDidLoad() {
        super.viewDidLoad()
        self.view.frame = self.tableFrame
    }
    
    override func setUI() {
        super.setUI();
        self.tableView = UITableView.init(frame:self.view.bounds, style: self.style)
        self.tableView.separatorStyle = UITableViewCell.SeparatorStyle.none
        self.tableView.delegate = self;
        self.tableView.dataSource = self;
        self.tableView.estimatedRowHeight = 100
        self.tableView.rowHeight = UITableView.automaticDimension
        self.view.addSubview(self.tableView)
        
        self.tableView.header = ZHRefreshGifHeader.headerWithRefreshing(block: {
           [weak self] in
           self?.page = 1
           self?.headerRefresh()
        })
        
        self.tableView.footer = ZHRefreshBackNormalFooter.footerWithRefreshing(block: {
            [weak self] in
            self?.page += 1
            self?.footerRefresh()
        })
    }
    
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return self.data?.count ?? 0
    }
    
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        return UITableViewCell.init();
    }
    
    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        
    }
    
    func headerRefresh(){
        
        self.tableView.header?.endRefreshing()
    }
    
    func footerRefresh(){
        self.tableView.footer?.endRefreshing()
    }
    
    func loadData(){
        self.data = []
    }
}
